Modern computing systems enforce security and control by assigning different privileges that are required to perform certain actions. For example, a user of a computer system may require “administrator” privileges to install new software. In contrast, a lesser level of security, perhaps “user” privileges, may be all that is necessary to launch the program once it is installed. Very many operations require heightened privileges, such as new software activation or licensing.
Software developers and administrators are plagued by the conflict between empowering users with sufficient privileges to perform their desired tasks without hindrance, and preventing users from either maliciously or negligently harming a computer system. In other words, the more privileges a user has, the fewer hurdles the user will face while computing, but the greater the risk of damaging the computing system.
An adequate solution to this problem has eluded those skilled in the art, until now.